package dp;

public class _23_122_买卖股票的最佳时机Ⅱ {
    public int maxProfit(int[] prices) {

    	int dp[][] = new int[prices.length][2];
    	
    	dp[0][0] = -prices[0];
    	
    	for(int i = 1; i < prices.length; i++) {
    		// 持有 前一天持有的金额 前一天不持有的金额减去今天购买的金额
    		dp[i][0] = Math.max(dp[i-1][0], dp[i-1][1] - prices[i]);
    		// 不持有 前一天不持有的金额 前一天持有的金额加上今天售出的金额
    		dp[i][1] = Math.max(dp[i-1][1], dp[i-1][0] + prices[i]);
    	}
    	
    	return dp[prices.length-1][1];
    }
    public static void main(String[] args) {
    	int prices[] = {1,6,1};
		System.out.println(new _23_122_买卖股票的最佳时机Ⅱ().maxProfit(prices));
	}
}
